#include "Jeu.h"

void jeuInit(Jeu *pJ)
{
  sokInit(&pJ->sok);
  terInit(&pJ->ter);
  caiInit(&pJ->cai);
  caiRecupereTer(&pJ->cai,&pJ->ter);
}

Terrain *jeuGetTerrainPtr(Jeu *pJ)
{
  return (&(pJ->ter));
}

Sokoban *jeuGetSokobanPtr(Jeu *pJ)
{
  return (&(pJ->sok));
}

Caisse *jeuGetCaissePtr(Jeu *pJ)
{
  return (&(pJ->cai));
}

const Terrain *jeuGetConstTerrainPtr(const Jeu *pJ)
{
   return (&(pJ->ter));
}

const Sokoban *jeuGetConstSokobanPtr(const Jeu *pJ)
{
   return (&(pJ->sok));
}

const Caisse *jeuGetConstCaissePtr(const Jeu *pJ)
{
  return (&(pJ->cai));
}


void jeuActionClavier(Jeu *pJ, const char touche)
{
  /*Caisse *caiTr;*/
  switch(touche)
    {
    case 'g':
      /* caiTr=caiRecherche(Caisse *pCai, pJ->sok->x-1,pJ->sok->y);*/
	sokGauche(&(pJ->sok), &(pJ->ter),&(pJ->cai));
        break;
    case 'd':
      /* caiTr=caiRecherche(Caisse *pCai, pJ->sok->x+1,pJ->sok->y);*/
      sokDroite(&(pJ->sok),&(pJ->ter),&(pJ->cai));
        break;
    case 'h':
      /*        caiTr=caiRecherche(Caisse *pCai, pJ->sok->x,pJ->sok->y-1);*/
	sokHaut(&(pJ->sok),&(pJ->ter),&(pJ->cai));
        break;
    case 'b':
      /*caiTr=caiRecherche(Caisse *pCai, pJ->sok->x,pJ->sok->y+1);*/
	sokBas(&(pJ->sok),&(pJ->ter),&(pJ->cai));
        break;
    }
	
  
}
